package webapp.mvc.oss;

import javax.servlet.http.HttpServletRequest;
import java.io.IOException;
import java.io.InputStream;

public interface IStoreService {
    /**
     * 存储文件到文件存储服务
     * @param inputStream
     * @param fileName
     * @return
     */
    ObjectStoreInfo putFile(InputStream inputStream, String fileName) throws IOException;

    /**
     * 根据存储时获取到的key来取出访问文件的url
     * @param request
     * @param storeKey
     * @return
     */
    String getFile(HttpServletRequest request, String storeKey, String id) throws IOException;

    InputStream getFileStream(String storeKey) throws IOException;

    /**
     * 是否支持后端直接取出存储的文件的内容(不需要通过downloadUrl绕过)
     * @return
     */
    boolean supportFetchFileDataDirect();
}
